package org.dromara.run.domain.vo;

import org.dromara.run.domain.Schedule;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import java.util.Map;


/**
 * 阳光跑计划表视图对象 phy_run_schedule
 *
 * @author chl
 * @date 2024-08-30
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = Schedule.class)
public class ScheduleVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @ExcelProperty(value = "主键")
    private Long scheduleId;

    /**
     * 计划名称
     */
    @ExcelProperty(value = "计划名称")
    private String scheduleName;

    /**
     * 阳光跑地点
     */
    @ExcelProperty(value = "阳光跑地点")
    private String location;

    /**
     * 年级
     */
    @ExcelProperty(value = "年级")
    private String years;

    /**
     * 学期
     */
    @ExcelProperty(value = "学期", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "phy_run_semester")
    private String semester;

    /**
     * 跑步规则
     */
    @ExcelProperty(value = "跑步规则")
    private String ruleId;

    /**
     * 成绩配置
     */
    @ExcelProperty(value = "成绩配置")
    private String scoreConfigId;

    /**
     * 说明
     */
    @ExcelProperty(value = "说明")
    private String description;

    private String tenantId;

    private String status;

    private String locationName;
    private String classId;
    private String collegeId;
//    private String professional;
    private String scoreConfigName;
    private List<String> ruleNames;
    private List<String> collegeNames;
    private List<String> classNames;
    private List<String> locationNames;
//    private List<String> professionalNames;

    private String academicYears;

//    private String executionTime;
}
